Systems and methods for controlling chlorinators

ABSTRACT

Systems and methods for controlling chlorinators for pools and spas are provided. A controller communicates with a processor positioned within a replaceable cell cartridge of a chlorinator, to allow for remote control and diagnosis of the chlorinator and/or cell cartridge. The cell cartridge stores, in non-volatile memory on board the cartridge, one or more parameters associated with the cartridge. The controller can obtain this information from the processor of the cell cartridge, and can use same to configure operation of the chlorinator. Information relating to remaining cell life can be updated by the controller and stored in the non-volatile memory of the cell cartridge. Electrical and software-based mechanisms are provided for ensuring operation of only compatible cell cartridges with the chlorinator. A system for remotely diagnosing errors associated with the chlorinator is also provided.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 13/562,128 filed on Jul. 30, 2012, now U.S. Pat. No. 9,885,193, which claims the priority of U.S. Provisional Application Ser. No. 61/513,316 filed Jul. 29, 2011, the disclosures of which are expressly incorporated herein by reference in their entirety.

TECHNICAL FIELD

The present disclosure relates generally to equipment for sanitizing bodies of water such as pools and spas. More specifically, the present disclosure relates to systems and methods for controlling chlorinators.

RELATED ART

In the pool and spa field, it is important that water be adequately sanitized to prevent the growth of microorganisms, algae, etc. Adequate sanitization is important not only to protect the health and safety of bathers, but to also ensure proper water clarity in a pool or spa. A number of sanitization techniques have been implemented to sanitize pool/spa water, such as chemical additives (e.g., chlorine, bromine, etc.), introduction of ozone into pool/spa water, ultraviolet sanitization, etc.

Electrolytic cells (or, so-called “salt chlorinators”) represent one way of sanitizing a pool or spa. In this arrangement, an amount of salt (sodium chloride) is periodically added to pool or spa water (e.g., a few times per year), an electric charge is imparted on the electrolytic cell, and pool or spa water is pumped through the cell. Through electrolysis, the salt in the water is converted to free chlorine, which is subsequently pumped into the pool or spa to sanitize water. One advantage to this approach is a reduction in the amount of chemicals that need to periodically be added to pool or spa water, in contrast to conventional chemical chlorination techniques which require frequent addition of dry or liquid chemicals to the pool/spa (e.g., by way of powder, tablets, etc.) in order to sanitize same.

Chlorinators having replaceable cell cartridges are known in the art. However, such systems do not include on-board electronic circuitry (including non-volatile memory) which stores operational and diagnostic information relating to the cell cartridge, so that proper operation and monitoring of the chlorinator can be carried out, e.g., by a controller in communication with the cell cartridge, or at a remote site (e.g., a manufacturer's facility) to which the cell cartridge can be shipped by the owner. Moreover, such systems do not include electrical and software-based security mechanisms to ensure usage of only compatible cartridges with the chlorinator.

Salt chlorinator systems that utilize replaceable chlorinator cartridges create a market for “knock-off” cell cartridges. This is primarily because a single chlorinator cartridge is designed for a single season of use, and therefore must be replaced at the beginning of each season. Knock-off cell cartridges not only have an economic impact, but can often create unsafe conditions. Specifically, only particular chlorinator cells should be used with specific chlorinator power supplies/controllers in order to ensure the safety of the system and the users. Standard connector systems allow knock-off companies to easily design cell cartridges to work with various chlorinators.

The present disclosure relates to systems and methods for controlling chlorinators, such as electrolytic chlorinators.

SUMMARY

The present disclosure relates to systems and method for controlling chlorinators for pools and spas, such as electrolytic chlorinators. The system includes a controller which communicates with a processor positioned within a replaceable cell cartridge of a chlorinator, to allow for remote control and diagnosis of the chlorinator and/or cell cartridge. The cell cartridge stores, in non-volatile memory on board the cartridge, one or more parameters associated with the cartridge, such as minimum/maximum electrical parameters, cell coating and/or life expectancy, thermal operating parameters, salinity operating parameters, etc. The controller can obtain this information from the processor of the cell cartridge, and can use same to configure operation of the chlorinator. Additionally, the processor of the cartridge can transmit operational status information in response to a request from the controller, such as current water temperature, flow rate, pH levels, etc., which information the processor can use to control the chlorinator. Information relating to remaining cell life can be updated by the controller and stored in the non-volatile memory of the cell cartridge. Electrical and software-based mechanisms are provided for ensuring operation of only compatible cell cartridges with the chlorinator. A system for remotely diagnosing errors associated with the chlorinator is also provided.

In one embodiment, a system for controlling a chlorinator is provided. The system includes a chlorinator including a body and a replaceable chlorinator cartridge removably positionable within said body, said chlorinator cartridge including a processor in electrical communication with a plurality of plates of the cartridge; and a controller in electrical communication with said chlorinator, said controller including a control panel for allowing a user to control operation of said chlorinator, wherein said processor of said chlorinator cartridge communicates with said controller to authenticate said replaceable cartridge, said controller prohibiting operation of said chlorinator cartridge if said chlorinator cartridge is not authenticated.

In another embodiment, a method for controlling a chlorinator is provided. The method includes the steps of establishing a communications link between a chlorinator and a controller; retrieving an authentication key from a non-volatile memory of a chlorinator cartridge removably positioned within said chlorinator; transmitting the authentication key from said chlorinator to said controller; processing the authentication key at the controller to determine whether the chlorinator cartridge is authenticated; and operating the chlorinator using the controller if the cartridge is authenticated by the controller.

In another embodiment, a method for diagnosing an error or a malfunction associated with pool or spa equipment is provided. The method includes the steps of displaying at a computer system a graphical user interface replicating at least one control panel of a piece of pool or spa equipment; allowing a user to replicate a control panel condition associated with the piece of pool or spa equipment using the graphical user interface; processing the replicated control panel condition using a diagnostic software engine to formulate a solution to the error or the malfunction; and conveying the solution to the error or the malfunction to the user using the computer system.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features of the invention will be apparent from the following Detailed Description, taken in connection with the accompanying drawings, in which:

FIG. 1 is a perspective view of the controller and chlorinator of the present disclosure;

FIG. 2 is an exploded view of the controller of the present disclosure;

FIGS. 3-4 are partial front views of the controller of the present disclosure, showing the control panel of the controller in greater detail;

FIG. 5 is perspective view of the replaceable cell cartridge of the present disclosure;

FIG. 6 is a schematic diagram illustrating electrical and software components of the controller of the present disclosure;

FIG. 7 is a schematic diagram illustrating electrical and software components of the cell cartridge of the present disclosure;

FIG. 8 is a diagram illustrating non-volatile memory of the cell cartridge of the present disclosure, and sample parameters capable of being stored in the non-volatile memory;

FIG. 9 is flowchart showing processing steps according to the present disclosure for communication with the cell cartridge by the controller, as well as authentication of the cell cartridge and calibration of the cell;

FIG. 10 is a flowchart showing processing steps according to the present disclosure for storing information in non-volatile memory of the cell cartridge relating to run times;

FIG. 11 is a flowchart showing processing steps according to the present disclosure for reading run time information from non-volatile memory of the cell cartridge, determining whether the run time exceeds a threshold, and indicating same to a user;

FIG. 12 is a flowchart showing processing steps according to the present disclosure for storing sensed information in memory of the cell cartridge and transmitting such information to the controller; and

FIG. 13 is a diagram illustrating a system according to the present disclosure for remotely diagnosing errors and/or malfunctions associated with pool/spa equipment.

DETAILED DESCRIPTION

The present disclosure relates to systems and methods for controlling chlorinators, as discussed in detail below in connection with FIGS. 1-13.

FIG. 1 is a perspective view of a controller 20 and a chlorinator 10 of the present disclosure, interconnected by a cable 30. The chlorinator 10 includes a casing 12, a transparent or translucent body 14, a screw cap 17, a first compression nut 18 a, and a second compression nut 18 b. The nuts 18 a, 18 b permit connection of a first pipe 19 a and a second pipe 19 b (such pipes forming part of the overall piping of a pool/spa equipment installation) to the chlorinator 10. The body 14 houses a chlorinator cartridge (or cell, both terms being used interchangeably herein) 60 (see FIG. 5), discussed in greater detail below. The cable 30 extends from the controller 20 and connects to a cartridge lid 16 that couples to the chlorinator cartridge 60, both electrically and mechanically. The cable 30 extends from the exterior of the cartridge lid 16 to the interior, and by way of a plug, provides power and electrical communication between the controller 20 and the chlorinator cartridge 60. The cable 30 is sealed to the lid 16 so that no water (e.g., pool/spa water or rain water) can enter the chlorinator 10 and damage the internal circuitry. The cartridge lid 16 is sealingly secured to the chlorinator cartridge 60. The water-tight connection created by the screw cap 17 restricts any water from entering the chlorinator 10. It is noted that communication between the chlorinator 10 and the controller 20 could also be provided by way of a wireless connection in place of the cable 30.

FIG. 2 is an exploded view of the controller 20. The controller 20 includes a front housing portion 22 having a movable cover 24, and a rear housing portion 25 attached to the front housing portion 22. An optional mounting plate 26 could be provided and attached to the rear housing portion 25 to allow mounting of the controller 20 to a surface (e.g., on a wall of a building, at a location near a pool/spa equipment pad, etc.). A transformer 27 provides electrical power to a printed circuit board 33 containing circuitry of the controller 20, as well as to the chlorinator 10. The transformer 27 steps incoming power at a household voltage level (e.g. 120 volts) to a lower voltage level for use by the controller 20 and the chlorinator 10. Two bridge rectifiers 28 convert alternating current (AC) provided by the transformer 27 to direct current (DC) for use by the controller 20 and chlorinator 10. The transformer 27, rectifiers 28, and printed circuit board 33 are housed by the housing portions 22 and 25. The housing portions 22 and 25 could be secured together by way of screws (as shown in FIG. 2), snap fit, fasteners, adhesive, etc. A power cord 31 (which can be plugged into a household AC outlet) provides power to the transformer 27. Both the cable 30 and the power cord 31 could be secured to the housing using a clamp 32 and associated fasteners. The cover 24 can be rotated downward (i.e., away from the housing portion 22) so as to provide access to a control panel 40. As discussed in greater detail below in connection with FIGS. 3-4, the control panel 40 includes lights (e.g., light-emitting diodes (LEDs) or incandescent lights) which indicate various operational, status, and diagnostic information relating to the chlorinator 10 and the cell 60, as well as buttons and/or a control knob for allowing a user to control operation of the chlorinator 10. It is noted that the housing portions 22, 25 could be made from plastic or other suitable material. A rear plate 29 is attached to the rear housing portion 25.

FIG. 3 is a diagram showing one embodiment of the control panel 40 of the controller 20. The panel 40 includes a plurality of status lights (e.g., LEDs) 42 a-42 f which indicate various conditions of the chlorinator 10, such as inadequate water flow through the chlorinator (light 42 a), low cell life left (light 42 b), a problem with the chlorinator and/or controller (light 42 c), stand by state (light 42 d), chlorine generation state (light 42 e), and super chlorination state (light 42 f). The plurality of status lights 42 a-42 f may alternatively be a single or a plurality of LCD screens or other display technology that is known. The inadequate water flow light 42 a is illuminated when the controller 20 detects (via a flow sensor within the chlorinator 10) that inadequate or no water is flowing through the chlorinator 10. In such circumstances, the controller 20 halts operation of the chlorinator 10, thereby preventing damage to the chlorinator 10 and/or other components of a pool/spa system. The cell life low light 42 b is illuminated when the controller 20 detects that the chlorinator cell 60 is approaching or is at the end of its useful life, thereby indicating that the cell should be replaced. The problem detected light 42 c is illuminated when the controller 20 detects a malfunction/fault of the cell 60 and/or other components of the system. The standing by light 42 d indicates that the chlorinator 10 is not operating but is in normal condition. The generating chlorine light 42 e is illuminated by the controller 20 when the chlorinator 10 is generating chlorine. The super chlorinating light 42 f is illuminated when the chlorinator is generating elevated levels of chlorine for a short period of time (e.g., to quickly boost the level of chlorine in a pool or spa). The panel 40 also includes a plurality of lights 44 a-44 j which indicate chlorine output levels. A plurality of membrane switches 46 a-46 c are provided for controlling the chlorine output level—by pressing the switch 46 a, the user can decrease the level of chlorine generated by the chlorinator 10 (causing fewer of the lights 44 a-44 j to illuminate). Conversely, by pressing the switch 46 b, the user can increase the level of chlorine generated by the chlorinator 10 (causing a greater number of the lights 44 a-44 j to illuminate). By pressing the switch 46 c, the user can initiate super chlorination mode, which causes the chlorinator 10 to generate an increased level of chlorine for a pre-defined period of time (also causing the light 42 f to illuminate during this time period). It is noted that the lights 42 a-42 f and 44 a-44 j could be different colors, and that they could flash to indicate different parameters or conditions to the user (e.g., a certain flashing sequence could be initiated to indicate a problem with a particular component).

FIG. 4 is a partial front view of another embodiment of the control panel (indicated at 50) according to the present disclosure. In this embodiment, the control panel includes status lights (e.g., LEDs) 52 a-52 f as well as a control knob 54 and a button 56. The light 52 a indicates whether sensed water temperature is too hot or too cold for chlorination. The light 52 b indicates whether the usable remaining time (life) of the cell cartridge 60 is low. The light 52 c indicates whether a problem has been detected with the cell cartridge 60 or another component. The light 52 d indicates whether the system is in a standby condition (i.e., operating normally, but not currently generating chlorine). The light 52 e indicates whether the chlorinator 10 is generating chlorine. The light 52 f indicates whether the chlorinator 10 is in super chlorination mode. As with the embodiment shown in FIG. 3, the lights 52 a-52 f could be different colors, and could flash to indicate conditions/malfunctions to the user. The knob 54 can be rotated to increase or decrease chlorine output of the chlorinator 10. The button 56, when depressed, causes the chlorinator 10 to temporarily output an elevated level of chlorine (super chlorination).

FIG. 5 is perspective view of the replaceable cell cartridge 60 of the present disclosure. The cartridge 60 can be installed by a user into the chlorinator 10, and replaced as necessary. The cartridge 60 includes a cartridge body 61, a cartridge cap 62, a plurality of slots 63 aligned with a plurality of electrically-charged plates (blades) positioned within the cartridge 60, a cover 64 and an o-ring 65. The cover 64 includes a locking key 66 and an electrical connector 67 having a plurality of connector pins 68. The electrical connector 67 is shaped so that it is compatible with the shape of a plug (not shown) formed in the lid 16, so that only compatible cartridges can be used with the chlorinator 10. The plurality of connector pins 68 extend through the cover 64 and are in electrical connection with the electrical components of the cartridge 60. As discussed in greater detail below in connection with FIG. 7, the cartridge 60 includes an on-board processor and associated non-volatile memory for storing parameters relating to the cartridge 60, as well as sensors for sensing various conditions relating to water being chlorinated. The on-board processor also includes firmware for authenticating the cartridge 60 with the controller 20, so that only authorized cartridges are operable with the controller 20. When the cartridge 60 is inserted into the chlorinator 10, the o-ring 65 creates a seal between the cartridge 60 and the chlorinator 10 so that no water escapes from the chlorinator 10. The o-ring 65 may alternatively be a flat gasket or other sealing agent, or replaced by any other known sealing methodology. The cartridge 60 can be removed from the chlorinator 10 as necessary by a user and replaced.

FIG. 6 is a schematic diagram, indicated generally at 70, illustrating electrical and software components of the controller 20 of the present disclosure. The controller 20 includes a power supply 72, a controller subsystem 77, a cell (cartridge) interface 86, and driver subsystem 90. The power supply 72 provides power to the controller subsystem 77, the cell interface 86, and the driver subsystem 90, as well as power to the chlorinator 10. The power supply 72 includes an alternating current (AC) to direct current (DC) converter 74 which coverts household AC power 73 (supplied by the power cable 31 shown in FIG. 2) to DC power, and a DC to DC converter 76 which converts DC output of the converter 74 to direct current of a different voltage level for subsequent use by the control subsystem 77.

The control subsystem 77 includes a controller integrated circuit (IC) 78 having a number of functional components including relay control logic 79, an analog-to-digital (A/D) converter 80, a serial (RS-232) communications controller 82, a serial communications module 83, and interrupt ports 84. The controller IC 78 could be the PIC16F1938 microcontroller manufactured by MICROCHIP, INC., or any other suitable equivalent. The control subsystem 77 also includes non-volatile, computer-readable memory which stores the control processes disclosed herein in the form of computer-readable instructions capable of being executed by the controller IC 78. Such instructions could be accessed from the memory by way of a software program header 85. The memory could be separate from the controller IC 78 (i.e., on another IC chip) or it could be provided on the controller IC 78. The control subsystem 77 also includes sensor logic 81 for determining the state of one or more power relays of the cell interface 86.

The driver subsystem 90 permits communication between the buttons of the control panel (keypad) 40 or 50, and includes a serial-to-parallel converter 91, a debounce circuit 93, and a connector 92 for connection with the control panel 40 or 50. The driver 90 receives control commands entered by a user at the control panel 40 or 50, processes same, and transmits the commands to the controller subsystem 77 for execution thereby. The control subsystem 77 also controls the various status lights of the control panel 40 or 50.

The cell interface 86 includes cell power relays 87, a connector 88, and a communications (RS-232) interface 89. The cell power relays 87 selectively control power delivered to the cell (cartridge) 60 of the chlorinator 10, and are controlled by the relay control logic 79 of the controller IC 78. The communications interface 89 permits bidirectional serial data communications between the controller subsystem 77 and the on-board processor of the cartridge 60. The connector 88 mates with the port 67 and has a shape that matches the port 67.

FIG. 7 is a schematic diagram, indicated generally at 94, illustrating electrical and software components of the cell (cartridge) 60 of the present disclosure. The connector 67 is in electrical communication with a DC-to-DC converter 95 which, for example, converts 24 volts DC current supplied to the cartridge 60 by the controller 20 to a lower voltage level of 5 volts. A communications transceiver (RS-232) 96 is provided in the cartridge 60 and permits bidirectional serial data communications between the cartridge 60 and the controller 20. The cartridge 60 also includes a controller IC 97 in communication with one or more sensors such as a temperature sensor 98 a for measuring water temperature and/or a flow switch 98 b for sensing water flow. The controller 97 obtains sensed parameters from the sensors 98 a, 98 b and, upon receiving a request from the controller 20, transmits the sensed parameters to the controller 20 using the communications transceiver 96. A non-volatile memory 100 (see FIG. 8) associated with, or forming part of, the controller IC 97 stores parameters associated with the cartridge 60 as well as an authentication/encryption key that can be used to authenticate the cartridge 60 with the controller 20 and/or allow for encrypted communications therebetween. Advantageously, authentication permits operation of only authorized cartridges with the controller 20. Control/program logic executed by the cartridge 60, in the form of computer-readable instructions, could be stored in the on-board non-volatile memory 100, and could be accessed by the controller IC 97 by way of a software program header 99. It is noted that other sensors could be provided on-board the cartridge 60, such as a pH sensor, an ORP sensor, and/or other sensors, and the controller IC 97 could be configured to obtain sensed levels from such sensors and transmit same to the controller 20. The on-board controller IC 97 could be the PIC16F1823 microcontroller manufactured by MICROCHIP, INC., or any other suitable equivalent.

FIG. 8 is a diagram illustrating non-volatile memory 100 of the cell cartridge 60 of the present disclosure, and sample parameters 102 capable of being stored in the non-volatile memory 100. Parameters 102 which could be stored in the non-volatile memory 100 include, but are not limited to, minimum/maximum electrical parameters associated with the cartridge 60, cell coating and/or life expectancy (i.e., information relating to materials used to coat the plates/blades of the cell, as well as total expected operational lifetime of the cell), thermal operating parameters, salinity operating parameters, etc. The parameters 102 could be loaded into the memory 100 by a manufacturer of the cartridge 60, and/or they could be updated during use of the cartridge 60 (e.g., by the controller 20).

FIG. 9 is flowchart showing processing steps according to the present disclosure, indicated generally at 110, for communication with the cell cartridge 60 by the controller 20, as well as authentication of the cell cartridge 60 and calibration of the cell 60. Beginning in step 112, a communications “handshake” is exchanged between the cell 60 and the controller 20, to establish a communications link between the two components. In step 114, the cell 60 transmits an authentication key to the controller 20. Any suitable authentication technique could be used, such as the AES encryption standard or any other suitable equivalent. The transmitted authentication key is processed by the controller 20, and a determination is made in step 116 as to whether the cell 60 is authenticated. If not, step 118 occurs, wherein the controller 20 enters an error state and operation of the cell 60 is not permitted. Otherwise, if the cell 60 is authenticated, step 120 occurs, wherein the controller 20 determines the type of the cell 60. For example, by communicating with the cell 60, the controller could determine whether the cell 60 is an extended-life cell or a cell having a reduced lifetime. In step 122, once the cell type has been determined, the controller 20 executes a calibration process for calibrating operation of the cell 60. To do so, in step 124, the controller 20 reads one or more parameters from the cell 60. It is noted that the cell 60 could be authenticated upon the first communication between the controller 20 and the cell 60 after system power-up, periodically, or every time a communication occurs between the controller 20 and the cell 60.

FIG. 10 is a flowchart showing processing steps, indicated generally at 130, according to the present disclosure for storing information in non-volatile memory 100 of the cell cartridge 60 relating to run times, i.e., the amount of time that the cell 60 has been operated. In step 132, the controller IC 97 of the cell 60 determines the polarity being applied to the cell 60. In step 134, a determination is made as to whether the polarity applied to the cell 60 is forward polarity. If so, steps 136 and 138 occur, wherein the controller IC 97 determines the forward run time and stores the forward run time in the non-volatile memory 100 of the cell 60. Otherwise, step 140 occurs, wherein the controller 97 determines whether the polarity applied to the cell 60 is reverse polarity. If so, steps 142 and 144 occur, wherein the controller IC 97 determines the reverse run time and stores the reverse run time in the non-volatile memory 100 of the cell 60. In step 146, a determination is made as to whether to update the run time information for the cell 60. If so, control returns to step 132; otherwise, processing ends. By storing forward and reverse run time information in the non-volatile memory 100 of the cell 60, it is possible to track the total amount of time that the cell 60 has been in operation (i.e., by adding the forward and reverse run times), as well as the number of times polarity has been reversed. This information is useful for identifying the total amount of life left in the cell 60, as well as for other diagnostic purposes.

FIG. 11 is a flowchart showing processing steps according to the present disclosure, indicated generally at 150, for reading run time information from non-volatile memory 100 of the cell cartridge 60, determining whether the run time exceeds a threshold, and indicating same to a user. In step 152, run times (both forward and reverse run time) are read from the non-volatile memory 100 of the cell 60, and total run time is calculated. Then, in step 154, a determination is made as to whether the total run time exceeds a pre-defined threshold. If so, step 156 occurs, wherein the controller 20 illuminates an indicator light on the panel 40, i.e., the cell life low lights 42 b or 52 b shown in FIGS. 3-4. The illuminated light indicates to the user that the cell 60 should be replaced with a new cell. Otherwise, step 158 occurs, wherein a determination is made as to whether to update the run time information. If so, control returns to step 152; otherwise, processing ends.

FIG. 12 is a flowchart showing processing steps according to the present disclosure, indicated generally at 160, for storing sensed information in memory 100 of the cell cartridge 60 and transmitting such information to the controller 20. In step 162, the controller IC 97 of the cell 60 obtains measurements from one or more of the sensors 98 a, 98 b, including, but not limited to, temperature, flow rate, pH, ORP, etc. Then, in step 164, the controller IC 97 stores the obtained measurements in the non-volatile memory 100. In step 166, the controller IC 97 monitors for an incoming request for data, i.e., a request generated by the controller 20 and transmitted to the cell 60. Then, in step 168, a determination is made as to whether a request has been received. If so, steps 172 and 174 occur, wherein the sensed measurements (parameters) stored in the non-volatile memory 100 are converted into communications protocol format and the converted information is transmitted from the cell 60 to the control unit 20 via the cable 30 or wirelessly. Otherwise, step 170 occurs, wherein a determination is made as to whether to update the measurements/parameters. If so, control returns back to step 162; otherwise, processing ends. It is noted that a wide variety of measurements/parameters could be obtained and stored in non-volatile memory 100 of the cell 60, including, but not limited to, chlorine parts per million (ppm), ORP, pH, salt ppm, turbidity, calcium hardness, and other parameters, and such parameters could be transmitted to the controller 20 for processing thereby.

FIG. 13 is a diagram illustrating a system according to the present disclosure, indicated generally at 200, for remotely diagnosing errors and/or malfunctions associated with pool/spa equipment. The system 200 includes a diagnostic server 202 which executes a diagnostic software engine 204, in communication with a local application executing on a computer system 208. Communication could be by way of the Internet 206, a local area network (LAN), a wide area network (WAN), a cellular network, etc. The computer system 208 could be a personal computer, tablet computer, cellular phone, smart phone, etc., and the local application executed by the computer system 208 generates a diagnostic graphical user interface (GUI) display 210 that is displayed on a display of the computer system 208. The GUI 210 could replicate one or more control panels of the pool/spa equipment 216, e.g., the GUI 210 could appear identical to the control panels 40 or 50 shown in FIGS. 3-4. When a malfunction of the equipment 216 occurs, the user can replicate the appearance of indicator lights appearing on the control panel(s) of the equipment 216 using the GUI 210. For example, if the control panel 40 has three lights flashing intermittently, by using a mouse and clicking on the replicated control panel appearing on the GUI 210, the user can replicate the same three flashing lights on the GUI 210. Once the replicated control panel condition is created in the GUI 210, the local application transmits same to the diagnostic server 202, for processing by the diagnostic software engine 204. Based upon the replicated conditions generated in the GUI 210, the diagnostic software engine 204 formulates a solution to the problem, and transmits the solution to the local computer 208 for subsequent display to the user. An explanation of the error condition could also be provided to the user. Of course, the functionality provided by diagnostic software engine 204 could be provided within the local computer system 208, such that communication with the diagnostic server 202 is not necessary.

It is noted that the local computer system 208 could also include a microphone 212 and a camera 214, both or either of which could be used to obtain information about the malfunctioning equipment 216. Thus, for example, if a pump is making a high-pitched whining noise, the user could record the sound using the microphone 212 and transmit the recorded sound to the diagnostic server 202 using the local application, whereupon the recorded sound is processed by the software engine 204 (e.g., the recorded sound is compared to a database of sounds made by pumps which are indicative of various conditions) and a solution to the problem is generated and transmitted back to the local computer system 208 for display to the user. Also, for example, a picture of the current operating conditions of the equipment 216 could be taken using the camera 214, and transmitted to the diagnostic server 202. Using image processing, the software engine 204 could analyze the picture to determine the error condition, and a solution could be generated and transmitted to the local computer system 208 for display to the user.

It is noted that an entirely local solution could be provided such that the server 202 is not needed. In such circumstances, the functionality of the diagnostic software engine 204 could be provided within the application executing on the local computer system 208. Moreover, the GUI 210 could include a three-dimensional model of the user's pool/spa, and the user could re-create the present configuration of the pool/spa and condition of associated equipment using the model. For example, the user can “drag-and-drop” representations of items such as a pool skimmer, main drain, lights, stairs, and other pool features into the model. Once the model is created, an algorithm (executing locally on the local computer system 208, or remotely on the diagnostic server 202) can analyze the model and recommend a specific manner in which to operate pool/spa equipment in order to obtain better results (e.g., it could recommend better ways of operating a pool/spa cleaner (or of programming same) based upon the model created by the user). Further, the algorithm could produce a new cleaning program based upon the model, which could be downloaded to a robotic pool cleaner (e.g., via USB, wirelessly, etc.).

Although the foregoing disclosure was discussed in connection with pools and spas, it is to be understood that the systems and methods disclosed herein could be utilized in connection with any body of water where sanitization is necessary, e.g., fountains, ponds, water features, etc.

Having thus described the invention in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. What is desired to be protected is set forth in the following claims. 

What is claimed is:
 1. A method for diagnosing errors or malfunctions of a pool or spa device, comprising the following steps: capturing a digital image of the pool or spa device, the pool or spa device elected from the group consisting of a pump, a filter, a heater, a chlorinator, a controller, and a light; processing the digital image to determine a current operating condition of the pool or spa device; determining whether an error or malfunction condition of the pool or spa device is present based on the current operating condition; and generating a solution for correcting the error or malfunction condition of the pool or spa device when the error or malfunction condition of the pool or spa device is present.
 2. The method of claim 1, further comprising the step of transmitting the solution to a user of the pool or spa device and displaying the solution to the user.
 3. The method of claim 1, wherein the digital image is captured using a digital camera.
 4. The method of claim 1, wherein the step of processing the digital image occurs at a server remote from the pool or spa device.
 5. The method of claim 1, wherein the digital image is an image of a user interface or display of the pool or spa device.
 6. The method of claim 1, further comprising the step of providing an explanation of the error or malfunction condition to a user.
 7. A method for diagnosing errors or malfunctions of a pool or spa device, comprising the following steps: capturing an audio recording of the pool or spa device, the pool or spa device elected from the group consisting of a pump, a filter, a heater, a chlorinator, a controller, and a light; processing the audio recording to determine a current operating condition of the pool or spa device; determining whether an error or malfunction condition of the pool or spa device is present based on the current operating condition; and generating a solution for correcting the error or condition of the pool or spa device when the error or malfunction condition of the pool or spa device is present.
 8. The method of claim 7 further comprising the step of transmitting the solution to a user of the pool or spa device and displaying the solution to the user.
 9. The method of claim 7, wherein the audio recording is captured using a microphone.
 10. The method of claim 7, wherein processing of the audio recording occurs at a server remote from the pool or spa device.
 11. The method of claim 7, wherein the audio recording is captured while the pool or spa device is malfunctioning or in an error condition.
 12. The method of claim 7, further comprising the step of comparing the audio recording with a database having a plurality of audio recordings of at least one pool or spa device having a same type as the pool or spa device.
 13. The method of claim 7, further comprising the step of providing an explanation to a user of the pool or spa device for the error or malfunction condition.
 14. A method for diagnosing errors or malfunctions of a pool or spa device, comprising the following steps: allowing a user to create a diagnostic graphical user interface that replicates a control panel of the pool or spa device, the pool or spa device elected from the group consisting of a pump, a filter, a heater, a chlorinator, a controller, and a light; processing the diagnostic graphical user interface to determine a current operating condition of the pool or spa device; determining whether an error or malfunction condition of the pool or spa device is present based on the current operating condition; and generating a solution for correcting the error or malfunction condition of the pool or spa device when the error or malfunction condition of the pool or spa device is present.
 15. The method of claim 14, further comprising the step of transmitting the solution to a user of the pool or spa device and displaying the solution to the user.
 16. The method of claim 14, wherein the diagnostic graphical user interface is generated by the user using a local computing device.
 17. The method of claim 14, wherein processing of the diagnostic graphical user interface occurs at a server remote from the pool or spa device.
 18. The method of claim 14, further comprising the step of generating a three dimensional model of a pool or spa environment which includes the pool or spa device.
 19. The method of claim 18, further comprising the step of analyzing the three dimensional model to generate a recommendation for operating the pool or spa environment.
 20. The method of claim 14, further comprising the step of providing an explanation of the error condition to the user. 